package com.it.filter;

import jakarta.servlet.*;
import jakarta.servlet.annotation.WebFilter;

import java.io.IOException;

//@WebFilter(urlPatterns = "/*")
public class DemoFilter implements Filter {

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        //初始化方法，web服务器启动，创建Filter时调用
        Filter.super.init(filterConfig);
    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        //拦截到请求，就调用该方法
        System.out.println("Demo拦截方法执行，拦截到了请求...");

        filterChain.doFilter(servletRequest, servletResponse);
        //如果还有第二个过滤器，就会放行到下一个过滤器，如果没有就会放行到Web资源

        System.out.println("Demo拦截到了请求，放行后逻辑...");
    }

    @Override
    public void destroy() {
        //销毁方法，服务器关闭时调用，只调用一次
        Filter.super.destroy();
    }
}

